package pe.gob.osinergmin.interfase_siaf.dac.dao;

import java.util.List;

import pe.gob.osinergmin.interfase_siaf.dac.domain.ExpedienteIngreso;

public interface ExpedienteIngresoDao {
	/**
	 * verifica si existe un ExpedienteDA en la tabla ExpedienteIngreso
	 * @return canidad de ExpedienteDA
	 *  @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	int verificarExpedienteDA(ExpedienteIngreso exp) throws Exception;
	/**
	 * verifica si existe un FaseDA en la tabla ExpedienteIngreso
	 * @return canidad de FaseDA
	 *  @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	int verificarFaseDA(ExpedienteIngreso exp) throws Exception;
	/**
	 * verifica si existe un SecuenciaDA en la tabla ExpedienteIngreso
	 * @return canidad de SecuenciaDA
	 * @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	int verificarSecuenciaDA(ExpedienteIngreso exp) throws Exception;
	/**
	 * verifica si existe un CorrelativoDA en la tabla ExpedienteIngreso
	 * @return canidad de CorrelativoDA
	 * @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	int verificarCorrelativoDA(ExpedienteIngreso exp) throws Exception;
	/**
	 * Listar monto total en la tabla ExpedienteIngreso 
	 * @return lista de monto total
	 * @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	List<ExpedienteIngreso> bucarMontoTotalDeterminado(ExpedienteIngreso exp) throws Exception;
	/**
	 * Listar monto total Moneda nacinal en la tabla ExpedienteIngreso 
	 * @return lista de monto total
	 * @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	List<ExpedienteIngreso> bucarMontoMnTotalDeterminado(ExpedienteIngreso exp) throws Exception;
	/**
	 * verifica si existe un ExpIngreso en la tabla ExpedienteIngreso
	 * @return canidad de ExpIngreso
	 * @param ExpedienteIngreso exp
	 * @throws throws Exception
	 */
	int verificarExiteExpIngreso(ExpedienteIngreso exp) throws Exception;

}
